In a Bluetooth ‘sniff mode’, asynchronous communication occurs according to a schedule negotiated between a master device and Slave device.
The schedule specifies periodically occurring sniff anchor points at which communication windows are positioned. Asynchronous communication between the Master and Slave only occurs during a window.
A window has a predetermined minimum duration that is extended if there is communication in the preceding period Sniff_Timeout.
Although data may be exchanged between Master and Slave while the sniff mode is on-going it is not as efficient as data communication in an active mode that has unscheduled communication. Delays in transmission/reception arising, for example, from delays in higher layers will result in a window closing because the period Sniff_Timeout has expired for lack of communication. A window may therefore close before a data transfer has completed and a number of successive, periodic windows may be required for data transfer.
One option for avoiding this problem would be to exit the sniff mode immediately when data communication is required or detected. However, entering and exiting the sniff mode has a messaging overhead.